package com.zhima.sdk.model;

import com.google.gson.annotations.SerializedName;
import com.zhima.sdk.common.ZMDeviceConstant;

import java.io.Serializable;

/**
 * Created by Bin on 2018/2/1.
 */

public class DeviceInfo implements Serializable {


    @SerializedName(ZMDeviceConstant.KEY_ANDROID_ID)
    private String androidId;


    @SerializedName(ZMDeviceConstant.KEY_IMEI)
    private String imei;

    @SerializedName(ZMDeviceConstant.KEY_IMSI)
    private String imsi;

    @SerializedName(ZMDeviceConstant.KEY_DEVICE_SOFTWARE_VERSION)
    private String deviceSoftwareVersion;

    @SerializedName(ZMDeviceConstant.KEY_VOICE_MAIL_NUMBER)
    private String voiceMailNum;

    @SerializedName(ZMDeviceConstant.KEY_LINE1_NUM)
    private String line1Num;

    @SerializedName(ZMDeviceConstant.KEY_SIM_SERIAL_NUM)
    private String simSerialNum;

    @SerializedName(ZMDeviceConstant.KEY_SIM_OPERATOR)
    private String simOperator;

    @SerializedName(ZMDeviceConstant.KEY_SIM_OPERATOR_NAME)
    private String simOperatorName;

    @SerializedName(ZMDeviceConstant.KEY_SIM_STATE)
    private String simState;

    @SerializedName(ZMDeviceConstant.KEY_PHONE_TYPE)
    private String phoneType;

    @SerializedName(ZMDeviceConstant.KEY_PHONE_NETWORK_TYPE)
    private String phoneNetworkType;

    @SerializedName(ZMDeviceConstant.KEY_PHONE_NETWORK_OPERATOR)
    private String phoneNetworkOperator;

    @SerializedName(ZMDeviceConstant.KEY_PHONE_NETWORK_OPERATOR_NAME)
    private String phoneNetworkOperatorName;

    @SerializedName(ZMDeviceConstant.KEY_PHONE_NETWORK_COUNTRY_ISO)
    private String phoneNetworkCountryIso;






    @SerializedName(ZMDeviceConstant.KEY_BUILD_BRAND)
    private String buildBrand;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_MODEL)
    private String buildModel;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_PRODUCT)
    private String buildProduct;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_MANUFACTURER)
    private String buildManufacturer;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_RELEASE)
    private String buildRelease;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_SDK)
    private String buildSdk;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_SDK_INT)
    private String buildSdkInt;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_SERIAL)
    private String buildSerial;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_HARDWARE)
    private String buildHardware;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_DEVICE)
    private String buildDevice;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_CPU_ABI)
    private String buildCpuAbi;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_CPU_ABI_2)
    private String buildCpuAbi2;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_BOARD)
    private String buildBoard;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_DISPLAY)
    private String buildDisplay;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_BOOTLOADER)
    private String buildBootloader;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_TAGS)
    private String buildTags;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_TYPE)
    private String buildType;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_ID)
    private String buildId;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_INCREMENTAL)
    private String buildIncremental;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_CODENAME)
    private String buildCodename;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_FINGERPRINT)
    private String buildFingerprint;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_HOST)
    private String buildHost;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_USER)
    private String buildUser;

    @SerializedName(ZMDeviceConstant.KEY_BUILD_TIME)
    private String buildTime;



    // wifi

    @SerializedName(ZMDeviceConstant.KEY_WIFI_MAC)
    private String wifiMac;

    @SerializedName(ZMDeviceConstant.KEY_WIFI_SSID)
    private String wifiSSID;

    @SerializedName(ZMDeviceConstant.KEY_WIFI_BSSID)
    private String wifiBSSID;



    // bluetooth
    @SerializedName(ZMDeviceConstant.KEY_BLUETOOTH_ADDRESS)
    private String bluetoothAddress;

    @SerializedName(ZMDeviceConstant.KEY_BLUETOOTH_NAME)
    private String bluetoothName;


    // System
    @SerializedName(ZMDeviceConstant.KEY_OS_NAME)
    private String osName;
    @SerializedName(ZMDeviceConstant.KEY_OS_ARCH)
    private String osArch;
    @SerializedName(ZMDeviceConstant.KEY_OS_VERSION)
    private String osVersion;


    // Webview
    @SerializedName(ZMDeviceConstant.KEY_USER_AGENT)
    private String userAgent;



    @SerializedName(ZMDeviceConstant.KEY_NETWORK_TYPE)
    private String networkType;

    @SerializedName(ZMDeviceConstant.KEY_NETWORK_TYPE_NAME)
    private String networkTypeName;

    @SerializedName(ZMDeviceConstant.KEY_NETWORK_SUBTYPE)
    private String networkSubtype;

    @SerializedName(ZMDeviceConstant.KEY_NETWORK_SUBTYPE_NAME)
    private String networkSubtypeName;



    @SerializedName(ZMDeviceConstant.KEY_SCREEN_WIDTH)
    private String screenWidth;

    @SerializedName(ZMDeviceConstant.KEY_SCREEN_HEIGHT)
    private String screenHeight;

    @SerializedName(ZMDeviceConstant.KEY_SCREEN_DENSITY)
    private String screenDensity;

    @SerializedName(ZMDeviceConstant.KEY_SCREEN_DENSITY_DPI)
    private String screenDensityDpi;


    public String getDeviceSoftwareVersion() {
        return deviceSoftwareVersion;
    }

    public void setDeviceSoftwareVersion(String deviceSoftwareVersion) {
        this.deviceSoftwareVersion = deviceSoftwareVersion;
    }

    public String getVoiceMailNum() {
        return voiceMailNum;
    }

    public void setVoiceMailNum(String voiceMailNum) {
        this.voiceMailNum = voiceMailNum;
    }

    public String getLine1Num() {
        return line1Num;
    }

    public void setLine1Num(String line1Num) {
        this.line1Num = line1Num;
    }

    public String getSimSerialNum() {
        return simSerialNum;
    }

    public void setSimSerialNum(String simSerialNum) {
        this.simSerialNum = simSerialNum;
    }

    public String getSimOperator() {
        return simOperator;
    }

    public void setSimOperator(String simOperator) {
        this.simOperator = simOperator;
    }

    public String getSimOperatorName() {
        return simOperatorName;
    }

    public void setSimOperatorName(String simOperatorName) {
        this.simOperatorName = simOperatorName;
    }

    public String getSimState() {
        return simState;
    }

    public void setSimState(String simState) {
        this.simState = simState;
    }

    public String getPhoneType() {
        return phoneType;
    }

    public void setPhoneType(String phoneType) {
        this.phoneType = phoneType;
    }

    public String getPhoneNetworkType() {
        return phoneNetworkType;
    }

    public void setPhoneNetworkType(String phoneNetworkType) {
        this.phoneNetworkType = phoneNetworkType;
    }

    public String getPhoneNetworkOperator() {
        return phoneNetworkOperator;
    }

    public void setPhoneNetworkOperator(String phoneNetworkOperator) {
        this.phoneNetworkOperator = phoneNetworkOperator;
    }

    public String getPhoneNetworkOperatorName() {
        return phoneNetworkOperatorName;
    }

    public void setPhoneNetworkOperatorName(String phoneNetworkOperatorName) {
        this.phoneNetworkOperatorName = phoneNetworkOperatorName;
    }

    public String getPhoneNetworkCountryIso() {
        return phoneNetworkCountryIso;
    }

    public void setPhoneNetworkCountryIso(String phoneNetworkCountryIso) {
        this.phoneNetworkCountryIso = phoneNetworkCountryIso;
    }

    public String getAndroidId() {
        return androidId;
    }

    public void setAndroidId(String androidId) {
        this.androidId = androidId;
    }

    public String getImei() {
        return imei;
    }

    public void setImei(String imei) {
        this.imei = imei;
    }

    public String getImsi() {
        return imsi;
    }

    public void setImsi(String imsi) {
        this.imsi = imsi;
    }

    public String getBuildBrand() {
        return buildBrand;
    }

    public void setBuildBrand(String buildBrand) {
        this.buildBrand = buildBrand;
    }

    public String getBuildModel() {
        return buildModel;
    }

    public void setBuildModel(String buildModel) {
        this.buildModel = buildModel;
    }

    public String getBuildProduct() {
        return buildProduct;
    }

    public void setBuildProduct(String buildProduct) {
        this.buildProduct = buildProduct;
    }

    public String getBuildManufacturer() {
        return buildManufacturer;
    }

    public void setBuildManufacturer(String buildManufacturer) {
        this.buildManufacturer = buildManufacturer;
    }

    public String getBuildRelease() {
        return buildRelease;
    }

    public void setBuildRelease(String buildRelease) {
        this.buildRelease = buildRelease;
    }

    public String getBuildSdk() {
        return buildSdk;
    }

    public void setBuildSdk(String buildSdk) {
        this.buildSdk = buildSdk;
    }

    public String getBuildSdkInt() {
        return buildSdkInt;
    }

    public void setBuildSdkInt(String buildSdkInt) {
        this.buildSdkInt = buildSdkInt;
    }

    public String getBuildSerial() {
        return buildSerial;
    }

    public void setBuildSerial(String buildSerial) {
        this.buildSerial = buildSerial;
    }

    public String getBuildHardware() {
        return buildHardware;
    }

    public void setBuildHardware(String buildHardware) {
        this.buildHardware = buildHardware;
    }

    public String getBuildDevice() {
        return buildDevice;
    }

    public void setBuildDevice(String buildDevice) {
        this.buildDevice = buildDevice;
    }

    public String getBuildCpuAbi() {
        return buildCpuAbi;
    }

    public void setBuildCpuAbi(String buildCpuAbi) {
        this.buildCpuAbi = buildCpuAbi;
    }

    public String getBuildCpuAbi2() {
        return buildCpuAbi2;
    }

    public void setBuildCpuAbi2(String buildCpuAbi2) {
        this.buildCpuAbi2 = buildCpuAbi2;
    }

    public String getBuildBoard() {
        return buildBoard;
    }

    public void setBuildBoard(String buildBoard) {
        this.buildBoard = buildBoard;
    }

    public String getBuildDisplay() {
        return buildDisplay;
    }

    public void setBuildDisplay(String buildDisplay) {
        this.buildDisplay = buildDisplay;
    }

    public String getBuildBootloader() {
        return buildBootloader;
    }

    public void setBuildBootloader(String buildBootloader) {
        this.buildBootloader = buildBootloader;
    }

    public String getBuildTags() {
        return buildTags;
    }

    public void setBuildTags(String buildTags) {
        this.buildTags = buildTags;
    }

    public String getBuildType() {
        return buildType;
    }

    public void setBuildType(String buildType) {
        this.buildType = buildType;
    }

    public String getBuildId() {
        return buildId;
    }

    public void setBuildId(String buildId) {
        this.buildId = buildId;
    }

    public String getBuildIncremental() {
        return buildIncremental;
    }

    public void setBuildIncremental(String buildIncremental) {
        this.buildIncremental = buildIncremental;
    }

    public String getBuildCodename() {
        return buildCodename;
    }

    public void setBuildCodename(String buildCodename) {
        this.buildCodename = buildCodename;
    }

    public String getBuildFingerprint() {
        return buildFingerprint;
    }

    public void setBuildFingerprint(String buildFingerprint) {
        this.buildFingerprint = buildFingerprint;
    }

    public String getBuildHost() {
        return buildHost;
    }

    public void setBuildHost(String buildHost) {
        this.buildHost = buildHost;
    }

    public String getBuildUser() {
        return buildUser;
    }

    public void setBuildUser(String buildUser) {
        this.buildUser = buildUser;
    }

    public String getBuildTime() {
        return buildTime;
    }

    public void setBuildTime(String buildTime) {
        this.buildTime = buildTime;
    }

    public String getWifiMac() {
        return wifiMac;
    }

    public void setWifiMac(String wifiMac) {
        this.wifiMac = wifiMac;
    }

    public String getWifiSSID() {
        return wifiSSID;
    }

    public void setWifiSSID(String wifiSSID) {
        this.wifiSSID = wifiSSID;
    }

    public String getWifiBSSID() {
        return wifiBSSID;
    }

    public void setWifiBSSID(String wifiBSSID) {
        this.wifiBSSID = wifiBSSID;
    }

    public String getBluetoothAddress() {
        return bluetoothAddress;
    }

    public void setBluetoothAddress(String bluetoothAddress) {
        this.bluetoothAddress = bluetoothAddress;
    }

    public String getBluetoothName() {
        return bluetoothName;
    }

    public void setBluetoothName(String bluetoothName) {
        this.bluetoothName = bluetoothName;
    }

    public String getOsName() {
        return osName;
    }

    public void setOsName(String osName) {
        this.osName = osName;
    }

    public String getOsArch() {
        return osArch;
    }

    public void setOsArch(String osArch) {
        this.osArch = osArch;
    }

    public String getOsVersion() {
        return osVersion;
    }

    public void setOsVersion(String osVersion) {
        this.osVersion = osVersion;
    }

    public String getUserAgent() {
        return userAgent;
    }

    public void setUserAgent(String userAgent) {
        this.userAgent = userAgent;
    }

    public String getNetworkType() {
        return networkType;
    }

    public void setNetworkType(String networkType) {
        this.networkType = networkType;
    }

    public String getNetworkTypeName() {
        return networkTypeName;
    }

    public void setNetworkTypeName(String networkTypeName) {
        this.networkTypeName = networkTypeName;
    }

    public String getNetworkSubtype() {
        return networkSubtype;
    }

    public void setNetworkSubtype(String networkSubtype) {
        this.networkSubtype = networkSubtype;
    }

    public String getNetworkSubtypeName() {
        return networkSubtypeName;
    }

    public void setNetworkSubtypeName(String networkSubtypeName) {
        this.networkSubtypeName = networkSubtypeName;
    }

    public String getScreenWidth() {
        return screenWidth;
    }

    public void setScreenWidth(String screenWidth) {
        this.screenWidth = screenWidth;
    }

    public String getScreenHeight() {
        return screenHeight;
    }

    public void setScreenHeight(String screenHeight) {
        this.screenHeight = screenHeight;
    }

    public String getScreenDensity() {
        return screenDensity;
    }

    public void setScreenDensity(String screenDensity) {
        this.screenDensity = screenDensity;
    }

    public String getScreenDensityDpi() {
        return screenDensityDpi;
    }

    public void setScreenDensityDpi(String screenDensityDpi) {
        this.screenDensityDpi = screenDensityDpi;
    }

    @Override
    public String toString() {
        return "DeviceInfo{" +
                "androidId='" + androidId + '\'' +
                ", imei='" + imei + '\'' +
                ", imsi='" + imsi + '\'' +
                ", deviceSoftwareVersion='" + deviceSoftwareVersion + '\'' +
                ", voiceMailNum='" + voiceMailNum + '\'' +
                ", line1Num='" + line1Num + '\'' +
                ", simSerialNum='" + simSerialNum + '\'' +
                ", simOperator='" + simOperator + '\'' +
                ", simOperatorName='" + simOperatorName + '\'' +
                ", simState='" + simState + '\'' +
                ", phoneType='" + phoneType + '\'' +
                ", phoneNetworkType='" + phoneNetworkType + '\'' +
                ", phoneNetworkOperator='" + phoneNetworkOperator + '\'' +
                ", phoneNetworkOperatorName='" + phoneNetworkOperatorName + '\'' +
                ", phoneNetworkCountryIso='" + phoneNetworkCountryIso + '\'' +
                ", buildBrand='" + buildBrand + '\'' +
                ", buildModel='" + buildModel + '\'' +
                ", buildProduct='" + buildProduct + '\'' +
                ", buildManufacturer='" + buildManufacturer + '\'' +
                ", buildRelease='" + buildRelease + '\'' +
                ", buildSdk='" + buildSdk + '\'' +
                ", buildSdkInt='" + buildSdkInt + '\'' +
                ", buildSerial='" + buildSerial + '\'' +
                ", buildHardware='" + buildHardware + '\'' +
                ", buildDevice='" + buildDevice + '\'' +
                ", buildCpuAbi='" + buildCpuAbi + '\'' +
                ", buildCpuAbi2='" + buildCpuAbi2 + '\'' +
                ", buildBoard='" + buildBoard + '\'' +
                ", buildDisplay='" + buildDisplay + '\'' +
                ", buildBootloader='" + buildBootloader + '\'' +
                ", buildTags='" + buildTags + '\'' +
                ", buildType='" + buildType + '\'' +
                ", buildId='" + buildId + '\'' +
                ", buildIncremental='" + buildIncremental + '\'' +
                ", buildCodename='" + buildCodename + '\'' +
                ", buildFingerprint='" + buildFingerprint + '\'' +
                ", buildHost='" + buildHost + '\'' +
                ", buildUser='" + buildUser + '\'' +
                ", buildTime='" + buildTime + '\'' +
                ", wifiMac='" + wifiMac + '\'' +
                ", wifiSSID='" + wifiSSID + '\'' +
                ", wifiBSSID='" + wifiBSSID + '\'' +
                ", bluetoothAddress='" + bluetoothAddress + '\'' +
                ", bluetoothName='" + bluetoothName + '\'' +
                ", osName='" + osName + '\'' +
                ", osArch='" + osArch + '\'' +
                ", osVersion='" + osVersion + '\'' +
                ", userAgent='" + userAgent + '\'' +
                ", networkType='" + networkType + '\'' +
                ", networkTypeName='" + networkTypeName + '\'' +
                ", networkSubtype='" + networkSubtype + '\'' +
                ", networkSubtypeName='" + networkSubtypeName + '\'' +
                ", screenWidth='" + screenWidth + '\'' +
                ", screenHeight='" + screenHeight + '\'' +
                ", screenDensity='" + screenDensity + '\'' +
                ", screenDensityDpi='" + screenDensityDpi + '\'' +
                '}';
    }
}
